package com.jrx.anytxn.customer.dto.creditinfo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jrx.anytxn.i18n.annotation.ConvertField;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
 * 额度树查询返回报文对象集合中对应实体
 * @author Qingyao Xing
 * @date 2019/8/16 17:01
 */
public class CreditInfoTree  implements Serializable {

    private static final long serialVersionUID = 2017395480025065052L;
    /**
     * 度节点编号
     */
    private String limitId;
    /**
     * 额度节点描述
     */
    private String limitDesc;
    /**
     * 授信额度
     */
    private BigDecimal creditLimit;
    /**
     * 当前可用额度
     */
    private BigDecimal availCreditLimit;
    /**
     * 额度生效日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date effectiveDate;
    /**
     * 额度失效日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date expiryDate;
    /**
     * 额度状态
     */
    @NotBlank(message = "额度树查询返回结果额度状态不能为空")
    private String limitStatus;
    /**
     * 父节点编号
     */
    private String fatherId;
    /**
     * 父节点描述
     */
    private  String fatherDesc;

    public String getLimitId() {
        return limitId;
    }

    public void setLimitId(String limitId) {
        this.limitId = limitId;
    }

    public String getLimitDesc() {
        return limitDesc;
    }

    public void setLimitDesc(String limitDesc) {
        this.limitDesc = limitDesc;
    }

    public BigDecimal getCreditLimit() {
        return creditLimit;
    }

    public void setCreditLimit(BigDecimal creditLimit) {
        this.creditLimit = creditLimit;
    }

    public BigDecimal getAvailCreditLimit() {
        return availCreditLimit;
    }

    public void setAvailCreditLimit(BigDecimal availCreditLimit) {
        this.availCreditLimit = availCreditLimit;
    }

    public Date getEffectiveDate() {
        return effectiveDate;
    }

    public void setEffectiveDate(Date effectiveDate) {
        this.effectiveDate = effectiveDate;
    }

    public Date getExpiryDate() {
        return expiryDate;
    }

    public void setExpiryDate(Date expiryDate) {
        this.expiryDate = expiryDate;
    }

    public String getFatherId() {
        return fatherId;
    }

    public void setFatherId(String fatherId) {
        this.fatherId = fatherId;
    }

    public String getFatherDesc() {
        return fatherDesc;
    }

    public void setFatherDesc(String fatherDesc) {
        this.fatherDesc = fatherDesc;
    }

    public String getLimitStatus() {
        return limitStatus;
    }

    public void setLimitStatus(String limitStatus) {
        this.limitStatus = limitStatus;
    }

    @Override
    public String toString() {
        return "CreditInfoTree{" + "limitId='" + limitId + '\'' + ", limitDesc='" + limitDesc + '\'' + ", creditLimit=" + creditLimit + ", availCreditLimit=" + availCreditLimit + ", effectiveDate=" + effectiveDate + ", expiryDate=" + expiryDate + ", status='" + limitStatus + '\'' + ", fatherId='" + fatherId + '\'' + ", fatherDesc='" + fatherDesc + '\'' + '}';
    }
}
